﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BLL_MechSys;
using DTO_MechSys;

namespace FORMS_MechSys
{
    public partial class frmEstoque : Form
    {
        BLLProduto bllProduto = new BLLProduto();
        BLLCor bllCor = new BLLCor();
        DTOCor dtoCorFundo = new DTOCor();
        DTOCor dtoCorGrid= new DTOCor();
        DTOCor dtoCorPrincipal = new DTOCor();
        DTOCor dtoCorLetra= new DTOCor();

        
        

        public frmEstoque()
        {
            InitializeComponent();
            SetColors();
            PopularGrid();
            this.WindowState = FormWindowState.Maximized;
        }

        private void SetColors()
        {
            dtoCorPrincipal = bllCor.Buscar("Principal");
            btn_pesquisar.BackColor = btnBaixa.BackColor = btnDevolucao.BackColor = btnEditar.BackColor = btnReceberPedido.BackColor = 
                tlpCrud.BackColor = btnSair.BackColor= tlpMenuStripCenter.BackColor = tlpMenuStripLeft.BackColor =tlpMenuStripRigth .BackColor =
                btnFazerPedido.BackColor = statusStrip1.BackColor= tlpPesquisa.BackColor = gpbVeiculo.BackColor = btnSair.BackColor = 
                dtoCorPrincipal.Cor;
            dtoCorFundo= bllCor.Buscar("Fundo");
            tlpPrincipal.BackColor = this.BackColor = dtoCorFundo.Cor;

            dtoCorLetra = bllCor.Buscar("Letra");
            btn_pesquisar.ForeColor = btnBaixa.ForeColor = btnDevolucao.ForeColor = btnEditar.ForeColor = btnReceberPedido.ForeColor = 
                btnSair.ForeColor =
                btnFazerPedido.ForeColor = gpbVeiculo.ForeColor =  lblstatus.ForeColor =
                dtoCorLetra.Cor;
            dtoCorGrid = bllCor.Buscar("DataGrid");
            dgvServicos.BackgroundColor = dtoCorGrid.Cor;
            
        }

        private void PopularGrid()
        {
            dgvServicos.DataSource = bllProduto.BuscarProdutosCadastradosEstoque();
        }

        private void btnBaixa_Click(object sender, EventArgs e)
        {
            if (dgvServicos.RowCount > 0 && dgvServicos.CurrentCellAddress.Y >= 0)
            {
                int ProdutoID = Int32.Parse(dgvServicos.Rows[dgvServicos.CurrentCellAddress.Y].Cells[0].Value.ToString());
                new frmEstoqueBaixa(ProdutoID).ShowDialog();
                PopularGrid();
            }
            else
                new frmMessageBox().Show("Selecione um produto no grid", "Produto não foi selecionado", MessageBoxButtons.OK, MessageBoxIcon.Warning);
        }

        private void btnDevolucao_Click(object sender, EventArgs e)
        {
                new frmEstoqueDevolucao().ShowDialog();
        }

        private void btnEditar_Click(object sender, EventArgs e)
        {
            if (dgvServicos.RowCount > 0 && dgvServicos.CurrentCellAddress.Y >= 0)
            {
                int ProdutoID = Int32.Parse(dgvServicos.Rows[dgvServicos.CurrentCellAddress.Y].Cells[0].Value.ToString());
                new frmEstoqueEditarProduto(ProdutoID).ShowDialog();
                PopularGrid();
            }
            else
                new frmMessageBox().Show("Selecione um produto no grid", "Produto não foi selecionado", MessageBoxButtons.OK, MessageBoxIcon.Warning);
        }

        private void btnFazerPedido_Click(object sender, EventArgs e)
        {
            new frmEstoqueFazerPedido().ShowDialog();
            PopularGrid();
        }

        private void btnReceberPedido_Click(object sender, EventArgs e)
        {
            new frmEstoqueReceberPedido().ShowDialog();
            PopularGrid();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}
